README.DOC for TIMS Version 1.1
Last Updated 2/1/93
INTRODUCTION
This file, README.DOC, serves to present information about the
product which is not reflected in the TIMS manual. This includes
documentation errors, additions, and clarifications. PLEASE TAKE
THE TIME NOW TO READ THROUGH THIS FILE, or do so at your earliest
convenience.
SOFTWARE MODS
Even the best software has bugs when it is as complex as TIMS. In
order to keep your software current, eSoft distributes a program
update system to fix any bugs which we find in the software. You
can use this system to protect your software investment. Each fix
(called a mod) is assigned a number. This release includes all mods
up to and including:
┌───┐
│ 0 │ <--- MOD LEVEL OF THE SOFTWARE ON THESE DISKETTES
└───┘
The software update program (UPDATE.EXE) is on this diskette. The
latest software update data file (UPDATE.BIN) is always available at
no charge for download from the eSoft, Inc. Support Board (for
access information, see Chapter 12 of your TBBS manual). If you are
experiencing difficulty with the software, obtain and apply all
newer mods before taking any other action.
IMPORTANT!
TIMS 1.1 will NOT RUN without TBBS being current on mods. Please
make sure you are current on mods BEFORE continuing. A current
UPDATE.EXE program and UPDATE.BIN file are included on the TIMS
release disk for your convenience.
UPGRADING FROM TIMS 1.0
You can perform a "quick upgrade" from TIMS 1.0 simply by copying
the TIMS.EXE from the TIMS release disk into your TBBS directory on
top of the old TIMS.EXE from Version 1.0. If you are not using a
TIMS.CTL file, you must copy or rename CONFIG.DOG to TIMS.CTL
because TIMS 1.1 does not read CONFIG.DOG. IF YOU DO THIS, TIMS
WILL STILL BE A PASSIVE MAILER -- just like Version 1.0. You must
perform additional configuration before TIMS will dial out. Refer
to the TIMS 1.1 manual (and elsewhere in this README.DOC for details
on dialing out).
DOCUMENTATION ERRORS AND CLARIFICATIONS
The following are corrections to and clarification of information in
the TIMS manual. They are referenced by page number.
3-29
The example RESTRICT block at the bottom of this page (shown in
a Courier typewritten font) is shown on two lines. This is due
to space restrictions in the manual. IT MUST BE ON A SINGLE
LINE OF TEXT WHEN YOU USE A RESTRICT BLOCK WITHIN THE TIMS.CTL
FILE!
5-14, WAIT statement
The maximum value of the WAIT statement is 600 seconds.
DOCUMENTATION ADDITIONS
TIMS Control Panel
TIMS is supplied with an integrated mail management control
panel. This panel allows you to control various elements of
TIMS' operation, as well to make adjustments to outbound mail,
all from within TBBS. The control panel is patterned after the
AMAX utility familiar to many BinkleyTerm users.
To provide access to the control panel, add a TBBS menu entry
with the following elements:
Type = 202
Opt Data =
Note that the Opt Data is blank.
When you logon to TBBS and activate this entry, the TIMS control
panel will load. Most of its functions are self-explanatory,
however, we'll go over each one here. The main menu on the
control panel has the following options:
V)iew Directory
Allows you to view the contents of the currently selected
outbound area (which default to your primary outbound area).
This display shows a numbered list of items in the area,
including destination address, system name and location,
type of outbound mail, and the sending "flavor" of the mail.
There may be one or more screens of information depending on
how many items are in your outbound area.
This function also allows you to delete any mail item from
the outbound area, reroute (readdress) items there, or
change the send flavor of an item.
C)hange to an AKA
This function allows you to select which "from" address is
active during the use of the control panel. This starts out
being your primary address, and you can change it to any of
the AKA addresses you've configured. This address is used
to ensure proper destination address determination of
compressed mail (ARCmail) in the outbound area (which is
"from" address dependent).
P)oll a system
This function allows to you create an empty "flow" (file
attach) file in the outbound area. Generally, this causes
TIMS to dial a system (depending on the configuration of
TIMS itself).
S)end a file to a system
This function allows you to send a file to another system as
a "file attach."
R)equest a file from a system
This function allows you to generate a file request of
another system. Update requests can also be generated.
F)ind a system in nodelist
This function allows you to retrieve nodelist information
for a given node address. You can also scan forward and
backward in the nodelist. If you wanted to find a system,
you may for example start by viewing the host entry for that
net (<net>/0), then viewing nodes in that net one at a time.
Z)one change
If you send mail to multiple zones, you will need to be
familiar with this function. Since mail for zones other
than your own is held in separate outbound directories,
changing the zone with this command lets you perform
functions on the control panel in a zone other than your
own.
D)isplay Scheduler Work List
This function gives you a window to the TIMS scheduler,
which controls dialing. The scheduler is the part of TIMS
that handles distribution of work to be done. You can
invoke this function to see what work TIMS has "queued" at
the moment, and what the status of the work processing is.
All work pending is displayed as a list on one or more
screens. What work is displayed is dependent on how TIMS is
configured.
NOTE: You will not necessarily see all mail TIMS has in
its outbound area reflected in the work list. The reason
for this is that all mail may not be qualified for TIMS to
send at the moment, depending on how you have configured the
SEND commands and RESTRICT blocks in the TIMS configuration
(TIMS.CTL).
The work screen(s) are automatically redisplayed every 5
seconds to reflect TIMS activity.
Menu Invocable TIMS Commands
There are several TIMS functions which can be invoked through a
TBBS menu entry (some of which are not accessible in any other
way). By allowing their invocation via a menu entry, any of
these commands can be executed:
- Interactively. A user (presumably a sysop) can trigger
the menu entry online manually.
- Ghost event. A ghost event can be setup in CEDIT to
trigger the menu entry on a scheduled basis.
- DOTBBS configuration command in the TIMS.CTL file. This
allows a command to be executed on a routine basis within
TIMS itself.
All of the TIMS commands which can be executed this way use a
TYPE=202. Only the Opt Data for the menu entry changes to
indicate which function should be executed. The commands
available are:
GET
Syntax: TYPE=202
OPT DATA=GET <node> <file> [<flavor>] [UPDATE]
Example: TYPE=202
OPT DATA=GET 1:104/36 FOOBAR.ZIP CRASH
This command allows you to generate an outbound file
request. The <node> is the node address of the destination,
the <file> is the name of the file you want to request.
The optional <flavor> parameter is the keyword CRASH, HOLD
or NORMAL and designates the send flavor for the request.
NORMAL is the default. The optional UPDATE keyword
designated that this is an update request. (For UPDATE
requests, the entire drive, path and filename of the file
must be provided as the <file> parameter.)
SEND
Syntax: TYPE=202
OPT DATA=SEND <node> <file> [<flavor>]
Example: TYPE=202
OPT DATA=SEND 1:104/36 C:\TBBS\COFFEE.ZIP
This command allows you to send a file to a remote system.
The <node> is the node address of the destination, the
<file> is the drive, path and filename of the file to send.
The optional <flavor> parameter is the keyword CRASH, HOLD
or NORMAL and designates the send flavor for the file.
NORMAL is the default.
POLL
Syntax: TYPE=202
OPT DATA=POLL <node> [<flavor>]
Example: TYPE=202
OPT DATA=POLL 1:104/36 CRASH
This command allows you to have TIMS poll a remote system.
This is accomplished through the creation of an empty file
attach (flow) file. Depending on the TIMS configuration of
SEND commands, the poll may or may not take place
immediately.
The optional <flavor> parameter is the keyword CRASH, HOLD
or NORMAL and designates which type of empty file attach
(flow) file will be created. NORMAL is the default.
NOTE: A flavor of HOLD for a poll will be a "no-op" meaning
that it will NOT cause TIMS to poll a system.
CHANGE
Syntax: TYPE=202
OPT DATA=CHANGE <node> <old_flavor> <new_flavor>
Example: TYPE=202
OPT DATA=CHANGE 1:104/36 HOLD CRASH
This command allows you to change the send flavor for a
particular node to another flavor.
The most common use of this command would be to change mail
from NORMAL or CRASH to HOLD, or vice-versa, to provide a
method to unconditionally HOLD or un-HOLD mail for a
particular system.
TOSS
Syntax: TYPE=202
OPT DATA=TOSS [<path>] [<zone>] [/H]
Example: TYPE=202
OPT DATA=TOSS C:\TBBS\TPKT
NOTE: Full information about the tossing of mail is in the
section "Tossing and Scanning Mail" later in this file!
The command instructs TIMS to toss (import) mail into the
TBBS message base from pending inbound packets (.PKT files).
The optional <path> designates which directory to look at
for pending packets; if omitted, TIMS looks in the directory
designated by the PACKET statement in the TIMS.CTL file.
The optional <zone> parameter instructs TIMS to override
your zone in special cases. If you have more than one AKA
with the same net/node (differing only by zone) then cases
may arise where TIMS cannot tell which one to use. By
default, it will use the first one it finds in your AKA
list. If you use the optional <zone> parameter, TIMS will
use it during tossing in these cases, instead of the first
one it finds in the AKA list.
The optional /H switch tells TIMS to put the PATH and SEEN-
BY lines of messages into the MSGHIST.BBS file instead of
the TBBS message base for compatibility with the TMAIL mail
processor.
SCAN
Syntax: TYPE=202
OPT DATA=SCAN
Example: TYPE=202
OPT DATA=SCAN
NOTE: Full information about the tossing of mail is in the
section "Tossing and Scanning Mail" later in this file!
The command instructs TIMS to scan (export) NetMail from the
TBBS message base to outbound packets (mail bundles).
NOTE: ONLY NETMAIL IS SCANNED -- ECHOMAIL SCANNING CANNOT
BE ACCOMPLISHED IN REAL-TIME DUE TO ITS EXTREMELY HIGH
AMOUNT OF OVERHEAD!
Executing Multiple TIMS Commands
You can "gang" the following TIMS commands:
GET
SEND
CHANGE
POLL
TOSS
SCAN
This is accomplished by invoking a TYPE=202 menu command with
OPT DATA=@<filename>. The <filename> parameter is the drive,
path and filename of a text file, like so:
OPT DATA=@C:\TBBS\TIMSCMDS.TXT
The file is assumed to contain valid TIMS command Opt Data
lines, one per line of the text file. An example of the
contents of such a file might be:
GET 1:104/36 FILES
GET 1:104/23 PRODLIST.ZIP
POLL 1:104/501
SEND 1:104/23 E:\FILE\IN\FOOBAR.ARC
SEND 1:104/89 D:\MYSTUFF\PIZZA.ARJ
Additional TIMS.CTL Statements
The following TIMS.CTL statements were added after the manual
was written:
DOTBBS [TYPE <type>] <minutes> <line> <optdata>
Example: DOTBBS 10 254 SCAN
DOTBBS TYPE 200 30 254 D:\TDBS\WINKO /Q
This command allows you to have the TIMS scheduler activate
specific TIMS console (or other) commands. In combination
with RESTRICT blocks, DOTBBS allows you to have either one-
shot or regularly occurring events under TIMS scheduler
control.
The optional TYPE <type> parameter designates the menu
command type to execute. TYPE 202 is the default (for
executing TIMS functions). The <minutes> parameter
designates the "repeat interval" for this command in
minutes. An interval of 0 (zero) means that the DOTBBS
command will only occur ONE TIME when its RESTRICT block
becomes active.
The <line> parameter can accept a specific line on which to
run, 254, or 255 as a value. A value of zero (0) is
illegal. The value of 254 means to run on the first
available ghost line; a value of 255 means to run on the
first available modem line.
One of the most common applications of a recurring command
(the <minutes> parameter is non-zero) will be to have TIMS
periodically execute the SCAN or TOSS commands. One of the
most common applications of a "one-shot" command (the
<minutes> parameter is zero) will be to invoke POLL, GET,
SEND or CHANGE.
There are fifteen (15) DOTBBS command "slots" which can be
filled at any one given time. These "slots" form a list of
"active" DOTBBS commands. Any DOTBBS command which is in
scope (a RESTRICT block it's inside of qualifies, etc.) will
fill one of the "slots" on the list. The slots are filled
in order (as TIMS encounters the DOTBBS commands which
qualify) and when the list is full, other DOTBBS commands
will be ignored.
The DOTBBS command work as follows:
1. The TIMS scheduler builds a list of DOTBBS commands
upon its first activation when TIMS loads.
2. On each following minute, the TIMS scheduler will
attempt to activate each DOTBBS command it finds in
its list. If the designated line is not available,
TIMS will try again every minute until it's
executed.
3. When a given DOTBBS command activates, the scheduler
will use the <minutes> value to schedule its next
activation time. If the <minutes> value is zero,
the command will never activate again, but the does
remain in the internal DOTBBS list until its
RESTRICT block is no longer in scope (or forever if
the DOTBBS command is not within a RESTRICT block).
4. When the <minutes> interval expires, the TIMS
scheduler will do the above three steps again for
that DOTBBS command.
When any RESTRICT start or end time is passed, the TIMS
scheduler rebuilds its DOTBBS list, discarding any entries
which don't qualify under the new RESTRICT conditions. Any
entries that qualified before and which are still active
remain in the list untouched (i.e., their repeat timers are
not altered). Any newly added DOTBBS commands are activated
immediately to step 1 above.
INCLUDE <filename>
Example: INCLUDE ADDL.CTL
This statement allows you to "include" another text file
with additional TIMS.CTL commands. When TIMS loads, and it
read the TIMS.CTL configuration file, it will temporarily
read an alternate file when the INCLUDE statement is
encountered. After the reading of the alternate file is
complete, it will continue reading the TIMS.CTL file from
the point at which it left off. INCLUDEs cannot be nested,
i.e., INCLUDEd files cannot contain INCLUDE statements.
HOLD <node> [<node> <node> ...]
Example: HOLD 1:104/36 1:1052/101
HOLD 1:104/ALL
This statement allows you to designate an address (or with
the ALL keyword, a group of addresses) that you do not want
TIMS to send mail to. Any mail for referenced address(es)
will not be sent. (It will of course be available for pick-
up should such a node call into your TIMS.)
Up to 40 addresses can be provided on a single HOLD
statement, and up to 450 HOLD addresses can be active at any
single time. NOTE: The ALL keyword counts as a single
address toward these totals.
MSGAREA <areaname> <tbbsname>
Example: MSGAREA TBBS TBBS
MSGAREA TECH "FidoNet Tech"
MSGAREA SYSOP "Echoes/My Stuff/Sysop Conference"
NOTE: Full information about the tossing of mail is in the
section "Tossing and Scanning Mail" later in this file!
This statement allows you to configure message areas for use
by the TIMS internal EchoMail tosser function.
The <areaname> parameter is the "EchoTag" (EchoMail area
identifier) for an EchoMail area. The <tbbsname> is the
TBBS board name (as defined in CEDIT) to which messages for
that Echo should be tossed. Topic boards are supported, in
which case the <tbbsname> refers to a topic path where the
messages should be tossed.
If the <tbbsname> is a single word (no embedded spaces) then
quotes are optional. If the board name in CEDIT has
embedded space(s), or you are designating a topic path, the
the <tbbsname> parameter should be enclosed in quotation
marks.
Monitoring Lines TIMS is Using
From the TBBS local console, you can monitor the activity on the
lines on your system. TIMS will report various status
information when you monitor its scheduler or a line on which a
TIMS session is occurring.
The information displayed should be self-explanatory.
Tossing and Scanning Mail in Real-Time
One of TIMS 1.1's most exciting and useful new features is an
ability to scan and toss mail in real-time. This vastly
increases the amount of time TBBS can stay online, instead of
coming offline for these tasks.
NOTE: NetMail is SCANNED and TOSSED. EchoMail is TOSSED ONLY!
EchoMail scanning is a very intensive task requiring extensive
disk resources. For this reason, TIMS DOES NOT support real-
time scanning! The ECHOSCAN functionality must still be
performed OFFLINE as an external event!
NOTE: Tossing can occur ONLY from packets (.PKT files). TIMS
will *NOT* uncompress (un-ZIP, un-ARC, etc.) *ANY* inbound mail.
This must be handled offline. You may wish to instruct systems
which supply you with mail to send it UNCOMPRESSED so that TIMS
can toss it without coming offline!
Setting up TIMS to perform real-time scanning and tossing
consists of several steps. They are:
1. Configure EchoMail areas in the TIMS.CTL file. This is
accomplished with the MSGAREA statement discussed earlier.
All EchoMail areas must be defined here in order to be
tossed! NOTE: THE NETMAIL MESSAGE AREA *DOES NOT* NEED TO
BE DEFINED, since it always has the same name (NET MAIL) in
CEDIT.
2. Configure the SCAN and TOSS commands to invoke the actual
SCAN and TOSS operations. These commands are discussed
earlier.
Conceptually, you can (and should) configure the TOSS
command with a DOTBBS statement in the TIMS.CTL file to
occur at regular intervals. If you wish it to happen all
the time, a TIMS.CTL line like the following will suffice:
DOTBBS 10 254 TOSS
This command will cause TIMS to look for mail to toss every
ten (10) minutes. (If something is found, TIMS will toss
it.)
Since scanning can only occur for NetMail messages, you may
wish to make that automatic each time a NetMail message is
entered online. The best way to accomplish this is with
auto-executing menu entries. Here is some SDL menu source
code to illustrate this:
;
; Put this on any menu
;
Entry:
<E>nter NetMail Message
Key=E Type=5 Opt Data=NMEN
;
; This is a new menu of its own
;
Menu: NMEN
;
; Enter a NET MAIL message
;
Entry:
Key=^@ Type=7 Opt Data=NET MAIL
;
Entry:
Key=^@ Type=202 Opt Data=SCAN
;
Entry:
Key=^@ Type=12 Opt Data=1
;
EndMenu:
When a user presses the key to enter a NetMail message, it
issues a "menu goto" call to the NMEN menu. This newly
defined menu consists of three auto-executing entries which
do the following in order:
1. Allow the user to enter a message onto the
NET MAIL message board.
2. Trigger the SCAN command to scan out the newly
entered message.
3. Return to the calling menu.
This will all occur TRANSPARENTLY to the user, the net
effect being that NetMail messages are scanned (and
depending on the TIMS configuration are sent) immediately
for rapid mail turn-around.
3. Remove references to POSTMAIL and PREMAIL from batch files.
If your system was previously setup to run the POSTMAIL and
PREMAIL utilities as external events, you can simply comment
these out of your batch file (or remove them) since the
functions will now be performed internally.
Notes on Real-Time Scanning and Tossing
1. The SCAN command DOES NOT support EchoMail.
2. The TOSS command will only toss .PKT files (packets) that
are addressed to either your primary node address or one of
your AKA addresses. Other .PKT files will NOT be tossed and
will remain in your inbound directory untouched.
It is possible to have a .PKT file which is addressed to
your system, but which contains messages within it that are
addresses to another system. TOSS cannot detect this
condition until it starts to disassemble the packet and toss
messages. It will only toss those messages which are
addressed to your primary node or one of your AKA addresses.
It will create a special packet named BAD00BAD.PKT if it
encounters messages which aren't addressed to you, and will
place those messages (which are not to you) into that
packet.
3. The TOSS command will always create a busy flag file named
TIMS.BSY in your PACKET directory when it is running. This
ensures that there will never be two copies of TOSS running
at the same time. The TIMS.BSY file should also be set and
tested by any "nanny machine" (the second PC in a Dual-CPU
hub environment; refer to the TIMS manual) to assure that
TOSS doesn't run while .PKT files are being generated. TOSS
will automatically avoid conflicts in cases where TIMS is
still receiving a packet but isn't complete yet.
4. The TOSS command DOES NOT USE AREAS FILES (such as
AREAS.BBS)! The message area(s) for EchoMail must be
defined with MSGAREA statements in the TIMS.CTL file. See
above.